Skip to content

Conversation

@Al-Kindi-0
Copy link

Adds support for periodic columns to the uni-stark prover-verifier. The main complexity is due to the differences between the two-adic and circle domains.
The same can be done for batch-stark without difficulties as far as I can see.

Add support for periodic columns - columns whose values repeat with a
period dividing the trace length. These are useful for selectors and
other repeating patterns in AIR constraints.

Changes:
- Add `periodic_table()` method to `BaseAir` trait
- Add `PeriodicAirBuilder` trait extending `AirBuilder` with:
  - `PeriodicVar: Into<Expr>` - base field for prover, extension for verifier
  - `periodic_values()` - returns evaluations at current row
- Add `periodic_values` field to `ProverConstraintFolder` (PackedVal)
  and `VerifierConstraintFolder` (Challenge)
- Add `PeriodicAirBuilder` impl to `SymbolicAirBuilder`
- Add `Entry::Periodic` variant to `SymbolicVariable`
- Add `PeriodicAirBuilder` impl to lookup folder wrappers
- Initialize with empty vec in uni-stark and batch-stark for now
@Al-Kindi-0 Al-Kindi-0 force-pushed the periodic-air-builder branch 2 times, most recently from 23eda28 to 522249c Compare January 14, 2026 08:36
@adr1anh adr1anh force-pushed the periodic-air-builder branch from 806fc58 to abff049 Compare January 21, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants